[VC6.0] (DLL)如何正确导入全局数组

来源:百度知道 编辑:UC知道 时间:2024/07/03 14:12:13
假设已导出如下两个数组变量(我查看了DLL,已证实导出了数组的全部变量):

functions FunctionTable[FUNCTION_QUANTITY]={
"Asc",ASC,1,{VARIABLE_S},VARIABLE_L, "Ascn",ASCN,1,{VARIABLE_S},VARIABLE_L,
"Chr",CHR,1,{VARIABLE_L},VARIABLE_S,
"Abs",ABS,2,{VARIABLE_S,VARIABLE_S},VARIABLE_L,
"Mid",MID,3,{VARIABLE_S,VARIABLE_L,VARIABLE_L},VARIABLE_S,
"Slen",SLEN,1,{VARIABLE_S},VARIABLE_L,
"MessageBox",MESSAGEBOX,3,{VARIABLE_S,VARIABLE_S,VARIABLE_L},VOIDTYPE
};//functions 是我自定义的一个struct

commands CommandTable[] = {
"Print",PRINT,
"Input",INPUT,
"If",IF,
"Then",THEN,
"Goto",GOTO,
"For",FOR,
"Next",NEXT,
"To",TO,
"Gosub",GOSUB,
"Return",RETURN,
"End",END,
NULL,END
};//commands 是我自定义的一个

//Gloab.cpp文件

#define CGet_Token_PhiL_Cheng_EXPORTS
#include "CGet_Token.h"

functions FunctionTable[] = {
"Asc",ASC,1,{VARIABLE_S},VARIABLE_L, //函数名,编码,入参个数,入参数类型,出参类型
"Ascn",ASCN,1,{VARIABLE_S},VARIABLE_L,
"Chr",CHR,1,{VARIABLE_L},VARIABLE_S,
"Abs",ABS,2,{VARIABLE_S,VARIABLE_S},VARIABLE_L,
"Mid",MID,3,{VARIABLE_S,VARIABLE_L,VARIABLE_L},VARIABLE_S,
"Slen",SLEN,1,{VARIABLE_S},VARIABLE_L
};

commands CommandTable[] = {
"Print",PRINT,
"Input",INPUT,
"If",IF,
"Then",THEN,
"Goto",GOTO,
"For",FOR,
"Next",NEXT,
"To",TO,
"Gosub",GOSUB,
"Return",RETURN,
"End",END,
NULL,END
};

//.h文件中这样声明:
#ifdef CGet_Token_P